<?php
/*
 * Tipo_recurso DAL.
 * @Autor: Inicial.cl.
 */
class Tipo_recursoDAL {
	//METODO PARA GRABAR TIPO_RECURSO.
	public static function grabar($oTipo_recurso){
		try{
			$arr = array(
				"{#NOMBRE}" => $oTipo_recurso->getNombre()
			);
			$query = Util::getQuery($arr, Tipo_recursoSQL::$GRABAR_TIPO_RECURSO);
			$arrDatos = Bd::exec($query);

			$id = Bd::$IDENTITY; //Retorno id insertado
			return $id;
		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA EDITAR TIPO_RECURSO.
	public static function editar($oTipo_recurso){
		try{
			$arr = array(
				"{#ID}" => $oTipo_recurso->getId(),
				"{#NOMBRE}" => $oTipo_recurso->getNombre()
			);
			$query = Util::getQuery($arr, Tipo_recursoSQL::$EDITAR_TIPO_RECURSO);
			$arrDatos = Bd::exec($query);

		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA LISTAR TIPO_RECURSO.
	public static function listar($oTipo_recurso){
		try{
			$arr = array(
				"{#ID}" => $oTipo_recurso->getId(),
				"{#NOMBRE}" => $oTipo_recurso->getNombre()
			);
			$query = Util::getQuery($arr, Tipo_recursoSQL::$LISTAR_TIPO_RECURSO);
			$arrDatos = Bd::exec($query);
			$arrTipo_recurso = array();

			if (count($arrDatos) > 0) {
				foreach ($arrDatos as $row) {
					$oTipo_recurso = new Tipo_recurso();

					$oTipo_recurso->setId($row["id"]);
					$oTipo_recurso->setNombre($row["nombre"]);

					$arrTipo_recurso[] = $oTipo_recurso;
				}
			}

			return $arrTipo_recurso;
		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA OBTENER POR ID TIPO_RECURSO.
	public static function obtenerPorId($id){
		try{
			$arr = array(
					"{#ID}" => $id
				);
			$query = Util::getQuery($arr, Tipo_recursoSQL::$OBTENER_TIPO_RECURSO_POR_ID);
			$arrDatos = Bd::exec($query);

			if (count($arrDatos) > 0) {
				$oTipo_recurso = new Tipo_recurso();

				foreach ($arrDatos as $row) {
					$oTipo_recurso->setId($row["id"]);
					$oTipo_recurso->setNombre($row["nombre"]);
				}
				return $oTipo_recurso;
			}
		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA ELIMINAR TIPO_RECURSO.
	public static function eliminar($id){
		try{
			$arr = array("{#ID}" => $id);
				$query = Util::getQuery($arr, Tipo_recursoSQL::$ELIMINAR_TIPO_RECURSO);
				$arrDatos = Bd::exec($query);

		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}
}
?>